On this page you can get a detailed analysis of a word or phrase, produced by the best artificial intelligence technology to date:
XS — это интерфейс (макроязык) внешней функции Perl, через который программа на языке Perl может вызывать подпрограмму на C или C++. XS (или XSUB) — это аббревиатура от «eXternal Subroutine» (внешняя подпрограмма), где «eXternal» (внешняя) относится к языкам программирования, внешним по отношению к Perl.
Макроязык XS описывает интерфейс функций и служит для согласования модели вызова Perl-функций с моделью вызова C-функций, что включает в себя преобразование типов и манипуляции с размещением аргументов функций и возвращаемых значений. Каждую отдельно описанную функцию в интерфейсе принято называть XSUB.
XS используется в тех случаях, когда требуется сделать обвязки (bindings) или интерфейс к существующим C-библиотекам для использования в Perl.
Основная задача макроязыка XS — упростить написание специфичных модулей, заменяя типовой код обвязки короткими макросами. Однако, XS не отменяет необходимость изучения внутреннего строения Perl и его API. Без их знания написание модулей XS для Perl невозможно.